//#ifndef SINGLE_LIST_LW
//#define	SINGLE_LIST_LW	

struct s_node
{
    struct s_node *next;
    int elem;
};

typedef struct s_node S_node;
typedef struct s_node *S_list;

extern S_node *create_node(void);
extern void destroy_node(S_node *node);
extern S_list create_list(void);
extern void destroy_list(S_list list);
extern S_list insert_to_head(S_list head, S_node *node);
extern S_list insert_to_tail(S_list head, S_node *node);
extern S_list remove_node(S_list head, S_node *node);
//#endif
